#ifndef SCT_RTSPSERVRER_AMRSERVERMEDIASUBSESSION_H
#define SCT_RTSPSERVRER_AMRSERVERMEDIASUBSESSION_H

#include "sct/core/common.h"
#include "FileServerMediaSubsession.hh"

namespace sct
{
class CAMRServerMediaSubsession: public FileServerMediaSubsession{
public:
  static CAMRServerMediaSubsession*
  createNew(UsageEnvironment& env, void* audio, Boolean reuseFirstSource);

private:
  CAMRServerMediaSubsession(UsageEnvironment& env,
		  void* audio, Boolean reuseFirstSource);
      // called only by createNew();
  virtual ~CAMRServerMediaSubsession();

private: // redefined virtual functions
  virtual FramedSource* createNewStreamSource(unsigned clientSessionId,
					      unsigned& estBitrate);
  virtual RTPSink* createNewRTPSink(Groupsock* rtpGroupsock,
                                    unsigned char rtpPayloadTypeIfDynamic,
				    FramedSource* inputSource);

  void* mAudioSource;
};

}


#endif
